<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
   <!-- 
		陈学辉		wechart:kaivon
	 -->

	<script>
		//字符串反转 ‘123abc’ -> ‘cba321’

		var str = 'abc123';
		console.log(str.split('').reverse().join(''));	//321cba


		//2、在有序的数组里找出指定的值，返回该值在数组中的索引（二分查找）
		var arr = [1, 3 ,5, 7, 9, 10, 11, 12, 14, 15];
		/* function getIndex(arr,val){
			for(var i=0;i<arr.length;i++){
				if(arr[i]==val){
					return i;
				}
			}
		} */

		/* function getIndex(arr,val){
			return arr.findIndex(function(value){
				return value==val;
			});
		} */
            
		function getIndex(arr, val) {
			var start = 0;	//起点的索引
			var end = arr.length - 1;	//终点的索引
			while (start <= end) {
				var middle = parseInt((start + end) / 2);	//中间值的索引
				if (val == arr[middle]) {
					//如果这个条件成立说明找到的中间值==用户要找的那个值
					return middle;
				} else if (val < arr[middle]) {
					end = middle - 1;
				} else if (val > arr[middle]) {
					start = middle + 1;
				}
			}
			return -1;	//如果用户传入的那个数据在数组里没有找到，就返回-1
		}
		console.log(getIndex(arr, 9));	//2
	</script>
</body>
</html>